FOSSGIS2013 - 36 2013_07_29
FOSSGIS 2013
Konferenz für freie und Open Source-Software im GIS-Bereich und für freie Geodaten
Referenten | |
---|---|
![]() |
Felix Kunde |
Programm | |
---|---|
Tag | Freitag - 2013-06-14 |
Raum | 3.008 |
Beginn | 10:00 |
Dauer | 00:30 |
Info | |
ID | 588 |
Veranstaltungstyp | Vortrag |
Track | Vorträge (GIS) |
Sprache der Veranstaltung | deutsch |
3D-Stadtmodelle in PostGIS mit der 3D City Database
![](/2013/programm/images/event-588-128x128.png)
3D-Stadtmodelle in PostGIS mit der 3D City Database
Mit der 3D City Database ist es möglich CityGML-basierte virtuelle 3D-Stadtmodelle in einem Datenbank Management System (DBMS) zu speichern. Es handelt sich dabei um ein relationales Datenbankschema, das aus dem Datenmodell des OGC-Standards CityGML abgeleitet und für Datenbank-Routinen optimiert wurde. Über eine einfach zu bedienende Java-basierte Client-Anwendung können 3D-Modelle in die Datenbank im- und exportiert werden. Die freie, quelloffene Software wurde in den letzten Jahren maßgeblich von dem Institut für Geodäsie und Geoinformationstechnik (IGG) an der TU Berlin unter der Leitung von Prof. Thomas H. Kolbe entwickelt und unterstützt seit Sommer letzten Jahres neben Oracle Spatial endlich auch die freie Geodatenbank PostGIS.
Die 3D-Unterstützung von PostGIS wurden zuletzt mit dem Release der 2.0 Version im April 2012 stark erweitert. Bei der derzeit noch recht geringen Auswahl an Werkzeugen zum Austausch und Bearbeiten von dreidimensionalen Geodaten, liefert die 3D City Database ein hervorragendes Beispiel einer effizienten wie leistungsstarken 3D-Datenbank auf PostGIS.
Der Vortrag wird die zum Einen die technischen Hintergründe rund um CityGML und den Datenbankaufbau erläutern und zum Anderen praktische Anwendungsbeispiele im Bereich der Web-Visualisierung von Stadtmodellen präsentieren.
Mit der 3D City Database, in der Folge mit 3DCityDB abgekürzt, ist es möglich, CityGML-basierte virtuelle 3D-Stadtmodelle in PostgreSQL/PostGIS oder Oracle Spatial zu speichern. Die Software umfasst zum einen ein relationales Datenbank-Schema, welches auf dem Datenbank Management System (DBMS) aufsetzt, und zum anderen die Java-basierte Client-Anwendung Importer/Exporter, mit dessen Hilfe Stadtmodell-Daten im CityGML-Format unabhängig von Größe und Komplexität hochperformant in die Datenbank hinein und wieder heraus geschrieben werden können. Die 3DCityDB stellt damit eine einfach zu bedienende, leistungsfähige und vor allem offene Schnittstelle zum Verwalten, Analysieren und Austauschen von 3D-Stadtmodellen bereit. Die Software ist ursprünglich aus dem Forschungsprojekt „Geodatenmanagement in der Berliner Verwaltung - Amtliches 3D-Stadtmodell für Berlin“ [1] hervorgegangen und wurde maßgeblich von dem Institut für Kartographie und Geoinformation (IKG) an der Uni Bonn und dem Institut für Geodäsie und Geoinformationstechnik (IGG) an der TU Berlin unter der Leitung von Thomas H. KOLBE entwickelt [2]. Das Projekt hatte zum Ziel, eine Datenbank zur Speicherung und Verarbeitung semantischer 3D-Stadtmodellen gemäß des CityGML-Standards sowie eine Software-Schnittstelle für die Arbeit mit solchen Daten zu schaffen. Die Software ist frei verfügbar unter 3dcitydb.net [3] und quelloffen nach LGPL v3.
Was ist CityGML?
CityGML ist ein Anwendungsschema der Geography Markup Language (GML). Es stellt ein offenes Austauschformat für 3D-Stadtmodelle dar und wird seit 2002 von der Special Interest Group 3D (SIG 3D), einem Gremium aus Vertretern der Wirtschaft, Wissenschaft und Öffentlichen Verwaltung (sig3d.de), konzipiert und entwickelt. Seit 2008 ist CityGML ein offizieller OGC-Standard [4]. Es deckt mit seinem modular aufgebauten Datenmodell verschiedenste thematische Bereiche der urbanen und ländlichen Topographie ab (neben Gebäuden u.a. auch Verkehr, Vegetation, Landnutzung, Gewässer), lässt sich darüber hinaus aber noch über eine generische Schnittstelle (Application Domain Extension – ADE) erweitern.
Eine entscheidende Stärke von CityGML gegenüber anderen 3D-Formaten ist die semantische Tiefe, welche den Modellen verliehen werden kann. Bestehen Stadtobjekte bei gängigen Visualisierungsformaten meist aus einer nicht näher definierten Ansammlung von Geometrien und Texturen, können bei CityGML nicht nur die Objekte selbst sondern auch einzelne Komponenten der Objekte thematisch klassifiziert und mit Sachinformationen attributiert werden, wie z.B. Wände, Dächer oder Fenster eines Gebäudes etc. [5]. Dieser hierarchische Ansatz kann sich je nach Zweck und Anforderung an Genauigkeit auf bis zu fünf unterschiedliche Maßstabsebenen, so genannte „Levels of Detail“ (LOD), ausdehnen. Die Breite an semantischer Qualifizierung ermöglicht die Integration von 3D-Geodaten aus heterogenen Quellen in einem Stadtmodell und macht es somit für verschiedenste Anwendungen nutzbar. Die Beispiele reichen von der einfachen Visualisierung über komplexe räumliche Analysen bis hin zu Simulationsanwendungen in unterschiedlichsten Fachdomänen wie beispielsweise Stadt- und Umweltplanung [6], Energiewirtschaft [7, 8], Katastrophenmanagement [9] oder Facility Management [10].
[Abb.1] Abb. 1: CityGML Gebäudepräsentation in verschiedenen Level of Detail (LOD). Die Beispiele entstammen dem Berliner 3D Stadtmodell. [12]
Aufgrund seiner breiten Akzeptanz in der Fachwelt, dient CityGML auch als Grundlage für weitere Datenmodelle im Bereich der dreidimensionalen Gebäudemodellierung, z.B. INSPIRE Building 3D [11], AdV-CityGML-Profil (ALKIS 3D) [12], IMGeo (Niederländische GDI) [13].
Features 3DCityDB
- Verfügbar für Oracle Spatial ab Version 10g R2 und für PostgreSQL 8,4+ mit PostGIS 2.0+
- Geometrisch-semantische Modellierung in fünf LOD-Stufen
- Speicherung von zusätzlichen Oberflächen-eigenschaften wie Texturen, Materialien, aber auch nicht sichtbare Phänomene wie Wärme-abstrahlung, Lärmemission, -etc.
- Speicherung von digitalen Geländemodellen (DGM) als Raster, TIN, 3D-Punktwolke oder 3D-Bruchkanten
- Speicherung von Luftbildern
- Prototypische Repräsentation von Objekten, die in gleicher Form an vielen Stellen im Stadtmodell existieren (Bäume, Stadtmöbel, Straßenlaternen Schilder etc.)
- Referenzierung von externen Datenquellen
- Geometrische Erfassung von 3D-Objekten anhand ihrer Begrenzungsflächen um die verschiedenen Ausprägungen in Solids, Surfaces oder ihrer Aggregation in einer Tabelle organisieren zu können
- Rekursive Gruppierungsmöglichkeit von Objekten
- Historien-Management der Datenbank, u.a. auch für das Erstellung von Planungsszenarios (dieses Feature existiert nur für die Oracle-Version)
Features Importer/Exporter
- Unterstützt derzeit CityGML 0.4.0 und 1.0.0
- Exportiert auch in das KML/COLLADA Format
- XML Validierung von CityGML Dokumenten
- Anlegen von benutzer-definierten Koordinaten- systemen in 2D und 3D
- Affine Transformation beim CityGML Import
- Koordinatentransformation beim CityGML Export
- Kartenfenster zum Bestimmen eines Auswahl-rechtecks (Bounding Box)
- Inkrementell erweiterbar durch Plugins
- Matching / Merging von Gebäuden
- Spreadsheet Im- und Export
- Technische Details:
- Programmiert in Java
- Verwendete Frameworks: citygml4j, JDBC , JAXB, SAX, Swing
- Modulare Softwarearchitektur
- Liest und schreibt CityGML-Dateien unabhängig von Größe und Komplexität
- Nebenläufige Programmierung für hoch-performantes Prozessieren der Daten
- Vor- und Rückwärtsauflösung von Xlinks
- Unterstützte Betriebssysteme sind Windows, MAC OS, Linux/UNIX und seine Derivate
- Quellcode verfügbar unter: http://opportunity.bv.tu-berlin.de/software
Aufbau der 3DCityDB
Das relationale Schema der 3DCityDB ist aus dem Datenmodell von CityGML abgeleitet. Für das Mapping wurde der Anspruch verfolgt, das objektorientierte Modell von CityGML zugunsten einer optimalen Datenbank-Performance zu vereinfachen, die Inhalte aber weitestgehend verlustfrei abzubilden [2, 14].
Das geometrische Modell von CityGML wurde im Datenbankschema insbesondere im Hinblick auf die Speicherung von flächenhaften Geometrien optimiert. Komplexe Geometrien wie Solids, TINs und sonstige Aggregationen von Polygonen werden in ihre einzelnen Flächenprimitive zerlegt, die über zusätzliche Tabellenspalten mit ihren Eltern- und Wurzelelementen verknüpft werden können (siehe Abb.2).
[Abb.2] Abb. 2: Verwaltung komplexer GML-Geometrien in der Datenbank [2]
Auf diese Weise können den Einzelflächen beliebig viele Oberflächeneigenschaften wie Texturen oder Materialinformationen zugewiesen werden. Durch die Referenzierung des Wurzelelements von jeder Flächengeometrie können komplexe Geometrieobjekte mit einem einzigen SELECT Statement abgefragt werden.
Neben den Tabellen umfasst die 3DCityDB auch in der Datenbank gespeicherte Prozeduren, die hauptsächlich für Funktionalitäten des Importer/Exporter verwendet werden. Diese sind in Oracle (PL/SQL) in Packages und in PostgreSQL (PL/pgSQL) in einem separaten Schema organisiert. Für die Oracle Version besteht darüber hinaus die Möglichkeit auf Basis des Oracle Workspace Managers Planungsszenarien in der 3DCityDB anzulegen, um verschiedene Versionen und Planungsalternativen der Stadtmodelldaten zu verwalten. Leider bietet PostgreSQL bis dato kein vergleichbares Werkzeug an, so dass die PostgreSQL/PostGIS Version der 3DCityDB derzeit ohne dieses Feature auskommen muss.
Datenaustausch mit der 3DCityDB
Auch wenn das relationale Datenbankschema aus dem Datenmodell von CityGML abgeleitet wurde, ist die 3DCityDB nicht nur auf den Datenaustausch von CityGML-Daten beschränkt. Mit Hilfe von Konvertern, wie z.B. FME von Safe Software, können auch andere semantisch weniger umfangreiche 3D-Formate (3D Shape, 3ds, dxf, osm3D) in die Datenbank importiert bzw. aus ihr exportiert werden [15]. Die 3DCityDB kann deshalb als zentrale Datenhaltungsschnittstelle eingesetzt werden, die einerseits Stadtmodelldaten aus verschiedenen Quellen in sich vereint und andererseits zweckorientierte Ausgaben für Desktop- oder Webanwendungen liefert.
3DCityDB in Action
Neben der Verwendung in zahlreichen Forschungsprojekten, u.a. dem Energie Atlas Berlin (siehe Abb.3) [7, 10], wird die 3DCityDB auch im kommerziellen Umfeld von den Firmen virtualcitySYSTEMS und M.O.S.S. Computer Grafik Systeme eingesetzt, u.a. in Stadtverwaltungen (z.B. in Berlin, Potsdam, München, Nürnberg, Zürich, Dresden) und Landesvermessungsämtern (wie z.B. in Baden-Württemberg, Bayern, Hessen, Rheinland-Pfalz, Sachsen, Thüringen).
[Abb.3] Abb. 3: Zusammenführung energierelevanter Informationen im Energieatlas Berlin [10]
Die Freie und Hansestadt Hamburg wird innerhalb der ersten Jahreshälfte 2013 als erste Stadt ihr 3D-Stadtmodell mit der seit Juli 2012 erhältlichen PostgreSQL/PostGIS-Version der 3DCityDB [16] im Pilotbetrieb verwalten. Angesichts der Bestimmungen der Arbeitsgemeinschaft der Vermessungsverwaltungen der Länder (AdV), gemäß denen in den kommenden Jahren flächendeckend für Deutschland LOD1- und LOD2-Modelle von den zuständigen Katasterämtern zu führen sind [17], kann davon ausgegangen werden, dass die Nutzung einer gänzlichen kostenfreien Datenbanklösung für weitere Kommunen in Betracht kommen wird.
Zukünftige Entwicklungen
Geplant ist, dass die 3DCityDB in der zweiten Jahreshälfte 2013 einen neuen Major-Release erfahren wird. Es folgt die Anpassung auf CityGML 2.0.0, das im April 2012 vom OGC verabschiedet wurde, sowie weitere Optimierungen des Datenbankschemas. Für das Importer/Exporter Tool ist vorgesehen die derzeit parallel entwickelten Versionen für Oracle und PostgreSQL/PostGIS in einer Software zusammenzuführen. Langfristig ist außerdem eine generische Unterstützung beliebiger Application Domain Extensions (ADEs) geplant.
Im Februar dieses Jahres haben Prof. KOLBE (seit dem 1. 10. 2012 an der Technischen Universität München), virtualcitySYSTEMS und M.O.S.S. in einer Kooperationsvereinbarung beschlossen, die Weiterentwicklung der 3DCityDB gemeinsam voranzutreiben. Dadurch wurde ein Forum geschaffen, dem sich einerseits weitere Entwickler und Unternehmen anschließen können, das andererseits aber auch die Nutzer der 3DCityDB vernetzen soll.
Referenzen
[1] CASPER, E. (2008): Geodatenmanagement in der Berliner Verwaltung – Amtliches 3D Stadtmodell für Berlin. Projektbericht 2007. Verfügbar unter: http://www.businesslocationcenter.de/imperia/md/content/3d/efre_ii_projektdokumentation.pdf
[2] KOLBE, T. H.; KÖNIG, G.; NAGEL, C.; STADLER, A. (2009): 3D-Geo-Database for CityGML. Version 2.0.1. Documentation. Berlin. Verfügbar unter: www.3dcitydb.net
[3] http://www.3dcitydb.net/
[4] http://www.opengeospatial.org/standards/citygml
[5] STADLER, A.; KOLBE, T. H. (2007): Spatio-semantic Coherence in the Integration of 3D City Models. Proceedings of the 5th International Symposium on Spatial Data Quality, June 13-15, Enschede.
[6] ROSS, L.; DÖLLNER, J.; KLEINSCHMIT, B.; SCHROTH, O. (2009): E-Collaboration between the private and the civil Sector: Support of long-term Utilization and update of Official 3D City models. Geoweb 2009 Conference in Vancouver, Canada.
[7] KADEN, R.; KRÜGER, A; KOLBE, T. H. (2012): Integratives Entscheidungswerkzeug für die ganzheitliche Planung in Städten auf der Basis von semantischen 3D-Stadtmodellen am Beispiel des Energieatlasses Berlin. In: SEYFERT, E. (Hrsg.) Publikationen der Deutschen Gesellschaft für Photogrammetrie, Fernerkundung und Geoinformation, Band 21, 32. Wissenschaftlich-Technische Jahrestagung der DGPF am 14.-17. März in Potsdam.
[8] CARRIÓN, D.; LORENZ, A.; KOLBE, T. H. (2010): Estimation of the energetic rehabilitation state of buildings for the city of Berlin using a 3D City Model represented in CityGML. In: Proc. of the 5th International Conference on 3D Geo-Information 2010 in Berlin. The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, XXXVIII-4/W15, S. 31-36.
[9] BECKER, T.; NAGEL, C.; KOLBE, T. H. (2011): Integrated 3D Modeling of Multi-utility Networks and their Interdependencies for Critical Infrastructure Analysis. In: KOLBE, T. H.; KÖNIG, G; NAGEL, C. (Hrsg.): Advances in 3D Geo-Information Sciences. Lecture Notes in Geoinformation and Cartography. Springer Verlag.
[10] KOLBE, T. H. (2012): Urban Information Fusion using Semantic 3D City Models focusing on City Lifecycle Management and Strategic Energy Planning. Vortrag am 15. 11. 2012. Smart City World Expo Congress in Barcelona. Verfügbar unter: http://www.citygml.org/typo3-igg/fileadmin/citygml/docs/Kolbe-UrbanInformationFusionwith3DCityModels.pdf
[11] INSPIRE THEMATIC WORKING GROUP BUILDING (TWG BU) (2011): INSPIRE Data Specification on Building – Draft Guidelines. Version D2.8.III.2.
[12] GRUBER, U. (2012): Die dritte Dimension im amtlichen Vermessungswesen Deutschlands. Vortrag am 29.03.2012. Geoinformatik 2012. Verfügbar unter: http://www.kreis-re.de/dok/Katasteramt/File/Geoinformatik2012_Gruber.pdf
[13] VAN DEN BRINK, L.; STOTER, J.; ZLATANOVA, S. (2013): Establishing a national standard for 3D topographic data compliant to CityGML. In: International Journal of Geographical Information Science 27, No. 1.
[14] STADLER, A.; NAGEL, C.; KÖNIG, G.; KOLBE, T. H. (2009): Making interoperability persistent: A 3D geo database based on CityGML. In: LEE, ZLATANOVA (Hrsg.): Proceedings of the 3rd International Workshop on 3D Geo-Information, Seoul, Korea. Lecture Notes in Geoinformation and Cartography. Springer Verlag.
[15] http://www.business-geomatics.com/online/unternehmen-a-maerkte/47-unternehmen-a-maerkte/1119-3d-auf-knopfdruck.html
[16] KUNDE, F (2012): CityGML in PostGIS: Portierung, Anwendung und Performanz-Analyse am Beispiel der 3D City Database von Berlin. Masterarbeit. Verfügbar unter: urn:nbn:de:kobv:517-opus-63656
[17] GEOINFODOK (2009): Dokumentation zur Modellierung der Geoinformationen des amtlichen Vermessungswesens. Hauptdokument Version 6.0.1. Arbeitsgemeinschaft der Vermessungsverwaltungen der Länder der Bundesrepublik Deutschland.